home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / SCSL / stpsv.z / stpsv
Encoding:
Text File  |  2002-10-03  |  16.9 KB  |  331 lines

  1.  
  2.  
  3.  
  4. SSSSTTTTPPPPSSSSVVVV((((3333SSSS))))                                                            SSSSTTTTPPPPSSSSVVVV((((3333SSSS))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      SSSSTTTTPPPPSSSSVVVV, DDDDTTTTPPPPSSSSVVVV, CCCCTTTTPPPPSSSSVVVV, ZZZZTTTTPPPPSSSSVVVV - Solves a real or complex triangular packed
  10.      system of equations
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      Single precision
  14.  
  15.           Fortran:
  16.                CCCCAAAALLLLLLLL SSSSTTTTPPPPSSSSVVVV ((((_u_p_l_o,,,, _t_r_a_n_s,,,, _d_i_a_g,,,, _n,,,, _a_p,,,, _x,,,, _i_n_c_x))))
  17.  
  18.           C/C++:
  19.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  20.                vvvvooooiiiidddd ssssttttppppssssvvvv ((((cccchhhhaaaarrrr *_u_p_l_o,,,, cccchhhhaaaarrrr *_t_r_a_n_s,,,, cccchhhhaaaarrrr *_d_i_a_g,,,, iiiinnnntttt _n,,,, ffffllllooooaaaatttt
  21.                *_a_p,,,, ffffllllooooaaaatttt *_x,,,, iiiinnnntttt _i_n_c_x))));;;;
  22.  
  23.      Double precision
  24.  
  25.           Fortran:
  26.                CCCCAAAALLLLLLLL DDDDTTTTPPPPSSSSVVVV ((((_u_p_l_o,,,, _t_r_a_n_s,,,, _d_i_a_g,,,, _n,,,, _a_p,,,, _x,,,, _i_n_c_x))))
  27.  
  28.           C/C++:
  29.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  30.                vvvvooooiiiidddd ddddttttppppssssvvvv ((((cccchhhhaaaarrrr *_u_p_l_o,,,, cccchhhhaaaarrrr *_t_r_a_n_s,,,, cccchhhhaaaarrrr *_d_i_a_g,,,, iiiinnnntttt _n,,,, ddddoooouuuubbbblllleeee
  31.                *_a_p,,,, ddddoooouuuubbbblllleeee *_x,,,, iiiinnnntttt _i_n_c_x))));;;;
  32.  
  33.      Single precision complex
  34.  
  35.           Fortran:
  36.                CCCCAAAALLLLLLLL CCCCTTTTPPPPSSSSVVVV ((((_u_p_l_o,,,, _t_r_a_n_s,,,, _d_i_a_g,,,, _n,,,, _a_p,,,, _x,,,, _i_n_c_x))))
  37.  
  38.           C/C++:
  39.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  40.                vvvvooooiiiidddd ccccttttppppssssvvvv ((((cccchhhhaaaarrrr *_u_p_l_o,,,, cccchhhhaaaarrrr *_t_r_a_n_s,,,, cccchhhhaaaarrrr *_d_i_a_g,,,, iiiinnnntttt _n,,,,
  41.                ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_a_p,,,, ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_x,,,, iiiinnnntttt _i_n_c_x))));;;;
  42.  
  43.           C++ STL:
  44.                ####iiiinnnncccclllluuuuddddeeee <<<<ccccoooommmmpppplllleeeexxxx....hhhh>>>>
  45.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  46.                vvvvooooiiiidddd ccccttttppppssssvvvv ((((cccchhhhaaaarrrr *_u_p_l_o,,,, cccchhhhaaaarrrr *_t_r_a_n_s,,,, cccchhhhaaaarrrr *_d_i_a_g,,,, iiiinnnntttt _n,,,,
  47.                ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_a_p,,,, ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_x,,,, iiiinnnntttt _i_n_c_x))));;;;
  48.  
  49.      Double precision complex
  50.  
  51.           Fortran:
  52.                CCCCAAAALLLLLLLL ZZZZTTTTPPPPSSSSVVVV ((((_u_p_l_o,,,, _t_r_a_n_s,,,, _d_i_a_g,,,, _n,,,, _a_p,,,, _x,,,, _i_n_c_x))))
  53.  
  54.           C/C++:
  55.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  56.                vvvvooooiiiidddd zzzzttttppppssssvvvv ((((cccchhhhaaaarrrr *_u_p_l_o,,,, cccchhhhaaaarrrr *_t_r_a_n_s,,,, cccchhhhaaaarrrr *_d_i_a_g,,,, iiiinnnntttt _n,,,,
  57.                ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx *_a_p,,,, ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx *_x,,,, iiiinnnntttt _i_n_c_x))));;;;
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. SSSSTTTTPPPPSSSSVVVV((((3333SSSS))))                                                            SSSSTTTTPPPPSSSSVVVV((((3333SSSS))))
  71.  
  72.  
  73.  
  74.           C++ STL:
  75.                ####iiiinnnncccclllluuuuddddeeee <<<<ccccoooommmmpppplllleeeexxxx....hhhh>>>>
  76.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  77.                vvvvooooiiiidddd zzzzttttppppssssvvvv ((((cccchhhhaaaarrrr *_u_p_l_o,,,, cccchhhhaaaarrrr *_t_r_a_n_s,,,, cccchhhhaaaarrrr *_d_i_a_g,,,, iiiinnnntttt _n,,,,
  78.                ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_a_p,,,, ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_x,,,, iiiinnnntttt _i_n_c_x))));;;;
  79.  
  80. IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
  81.      These routines are part of the SCSL Scientific Library and can be loaded
  82.      using either the ----llllssssccccssss or the ----llllssssccccssss____mmmmpppp option.  The ----llllssssccccssss____mmmmpppp option
  83.      directs the linker to use the multi-processor version of the library.
  84.  
  85.      When linking to SCSL with ----llllssssccccssss or ----llllssssccccssss____mmmmpppp, the default integer size is
  86.      4 bytes (32 bits). Another version of SCSL is available in which integers
  87.      are 8 bytes (64 bits).  This version allows the user access to larger
  88.      memory sizes and helps when porting legacy Cray codes.  It can be loaded
  89.      by using the ----llllssssccccssss____iiii8888 option or the ----llllssssccccssss____iiii8888____mmmmpppp option. A program may use
  90.      only one of the two versions; 4-byte integer and 8-byte integer library
  91.      calls cannot be mixed.
  92.  
  93.      The C and C++ prototypes shown above are appropriate for the 4-byte
  94.      integer version of SCSL. When using the 8-byte integer version, the
  95.      variables of type iiiinnnntttt become lllloooonnnngggg lllloooonnnngggg and the <<<<ssssccccssssllll____bbbbllllaaaassss____iiii8888....hhhh>>>> header
  96.      file should be included.
  97.  
  98. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  99.      These routines solve one of the following systems of equations, using the
  100.      operation associated with each:
  101.  
  102.           EEEEqqqquuuuaaaattttiiiioooonnnnssss      OOOOppppeeeerrrraaaattttiiiioooonnnn
  103.  
  104.           _A_x=_b           _x <- _A-_1_x
  105.  
  106.           _A_T_x=_b          _x <- _A-_T_x
  107.  
  108.           _A_H_x=_b          _x <- _A-_H_x (CCCCTTTTPPPPSSSSVVVV, ZZZZTTTTPPPPSSSSVVVV only)
  109.  
  110.      where
  111.  
  112.      *   _b and _x are _n-element vectors
  113.  
  114.      *   _A is either a unit or nonunit _n-by-_n upper or lower triangular band
  115.          matrix with (_k+1) diagonals
  116.  
  117.      *   _A-_1 is the inverse of _A
  118.  
  119.      *   _A_T is the transpose of _A
  120.  
  121.      *   _A-_T is the inverse of _A_T
  122.  
  123.      *   _A_H is the conjugate transpose of _A
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. SSSSTTTTPPPPSSSSVVVV((((3333SSSS))))                                                            SSSSTTTTPPPPSSSSVVVV((((3333SSSS))))
  137.  
  138.  
  139.  
  140.      *   _A-_H is the inverse of _A_H
  141.  
  142.      On input, the right-hand side vector _b is stored in the array argument _x.
  143.      On output, the solution vector _x overwrites _b in the same array argument
  144.      _x.
  145.  
  146.      See the NOTES section of this man page for information about the
  147.      interpretation of the data types described in the following arguments.
  148.  
  149.      These routines have the following arguments:
  150.  
  151.      _u_p_l_o      Character.  (input)
  152.                Specifies whether the matrix is an upper or lower triangular
  153.                matrix, as follows:
  154.  
  155.                _u_p_l_o = 'U' or 'u': _A is an upper triangular matrix.
  156.                _u_p_l_o = 'L' or 'l': _A is a lower triangular matrix.
  157.  
  158.                For C/C++, a pointer to this character is passed.
  159.  
  160.      _t_r_a_n_s     Character.  (input)
  161.                Specifies the operation to be performed, as follows:
  162.  
  163.                _t_r_a_n_s = 'N' or 'n':  _x <- _A-_1_x
  164.  
  165.                _t_r_a_n_s = 'T' or 't':  _x <- _A-_T_x
  166.  
  167.                _t_r_a_n_s = 'C' or 'c':  _x <- _A-_T_x (SSSSTTTTPPPPSSSSVVVV, DDDDTTTTPPPPSSSSVVVV), or _x <- _A-_H_x
  168.                (CCCCTTTTPPPPSSSSVVVV, ZZZZTTTTPPPPSSSSVVVV)
  169.  
  170.                For C/C++, a pointer to this character is passed.
  171.  
  172.      _d_i_a_g      Character.  (input)
  173.                Specifies whether _A is unit triangular, as follows:
  174.  
  175.                _d_i_a_g = 'U' or 'u': _A is assumed to be unit triangular.
  176.                _d_i_a_g = 'N' or 'n': _A is not assumed to be unit triangular.
  177.  
  178.                For C/C++, a pointer to this character is passed.
  179.  
  180.      _n         Integer.  (input)
  181.                Specifies the order of matrix _A.  _n >= 0.
  182.  
  183.      _a_p        Array of dimension (_n(_n+1))/2 .  (input)
  184.                SSSSTTTTPPPPSSSSVVVV: Single precision array.
  185.                DDDDTTTTPPPPSSSSVVVV: Double precision array.
  186.                CCCCTTTTPPPPSSSSVVVV: Single precision complex array.
  187.                ZZZZTTTTPPPPSSSSVVVV: Double precision complex array.
  188.  
  189.                Before entry with _u_p_l_o = 'U' or 'u', array _a_p must contain the
  190.                upper triangular matrix packed sequentially, column-by-column,
  191.                so that _a_p(1) contains _A(1,1), _a_p(2) contains _A(1,2), _a_p(3)
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. SSSSTTTTPPPPSSSSVVVV((((3333SSSS))))                                                            SSSSTTTTPPPPSSSSVVVV((((3333SSSS))))
  203.  
  204.  
  205.  
  206.                contains _A(2,2), and so on.
  207.  
  208.                Before entry with _u_p_l_o = 'L' or 'l', array _a_p must contain the
  209.                lower triangular matrix packed sequentially, column-by-column,
  210.                so that _a_p(1) contains _A(1,1), _a_p(2) contains _A(2,1), _a_p(3)
  211.                contains _A(3,1), and so on.
  212.  
  213.                When _d_i_a_g = 'U' or 'u', these routines assume that all elements
  214.                of array _a that represent diagonal elements of the matrix _A are
  215.                1.  In this case, neither of these routines will reference any
  216.                of the diagonal elements.
  217.  
  218.      _x         Array of dimension 1+(_n-1) * |_i_n_c_x|.  (input and output)
  219.                SSSSTTTTPPPPSSSSVVVV: Single precision array.
  220.                DDDDTTTTPPPPSSSSVVVV: Double precision array.
  221.                CCCCTTTTPPPPSSSSVVVV: Single precision complex array.
  222.                ZZZZTTTTPPPPSSSSVVVV: Double precision complex array.
  223.                Contains the vector _b, then the vector _x.
  224.  
  225.      _i_n_c_x      Integer.  (input)
  226.                Specifies the increment for the elements of _x.  _i_n_c_x must not
  227.                be 0.
  228.  
  229. NNNNOOOOTTTTEEEESSSS
  230.      Tests for singularity or near-singularity are not included in these
  231.      routines.  You must perform such tests before calling either routine.
  232.  
  233.      These routines are Level 2 Basic Linear Algebra Subprograms (Level 2
  234.      BLAS).
  235.  
  236.      When working backward (_i_n_c_x < 0), each routine starts at the end of the
  237.      vector and moves backward, as follows:
  238.  
  239.           _x(1-_i_n_c_x * (_n-1)), _x(1-_i_n_c_x * (_n-2)), ..., _x(1)
  240.  
  241.  
  242.    DDDDaaaattttaaaa TTTTyyyyppppeeeessss
  243.      The following data types are described in this documentation:
  244.  
  245.      Fortran:
  246.  
  247.           TTTTeeeerrrrmmmm UUUUsssseeeedddd                     DDDDaaaattttaaaa ttttyyyyppppeeee
  248.  
  249.           Array dimensioned _n           XXXX((((nnnn))))
  250.  
  251.           Character                     CCCCHHHHAAAARRRRAAAACCCCTTTTEEEERRRR
  252.  
  253.           Integer                       IIIINNNNTTTTEEEEGGGGEEEERRRR (IIIINNNNTTTTEEEEGGGGEEEERRRR****8888 for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]])
  254.  
  255.           Single precision              RRRREEEEAAAALLLL
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. SSSSTTTTPPPPSSSSVVVV((((3333SSSS))))                                                            SSSSTTTTPPPPSSSSVVVV((((3333SSSS))))
  269.  
  270.  
  271.  
  272.           Double precision              DDDDOOOOUUUUBBBBLLLLEEEE PPPPRRRREEEECCCCIIIISSSSIIIIOOOONNNN
  273.  
  274.           Single precision complex      CCCCOOOOMMMMPPPPLLLLEEEEXXXX
  275.  
  276.           Double precision complex      DDDDOOOOUUUUBBBBLLLLEEEE CCCCOOOOMMMMPPPPLLLLEEEEXXXX
  277.  
  278.      C/C++:
  279.  
  280.           Array dimensioned _n           xxxx[[[[_n]]]]
  281.  
  282.           Character                     cccchhhhaaaarrrr
  283.  
  284.           Integer                       iiiinnnntttt (lllloooonnnngggg lllloooonnnngggg for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]])
  285.  
  286.           Single precision              ffffllllooooaaaatttt
  287.  
  288.           Double precision              ddddoooouuuubbbblllleeee
  289.  
  290.           Single precision complex      ssssccccssssllll____ccccoooommmmpppplllleeeexxxx
  291.  
  292.           Double precision complex      ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx
  293.  
  294.      C++ STL:
  295.  
  296.           Array dimensioned _n           xxxx[[[[_n]]]]
  297.  
  298.           Character                     cccchhhhaaaarrrr
  299.  
  300.           Integer                       iiiinnnntttt (lllloooonnnngggg lllloooonnnngggg for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]])
  301.  
  302.           Single precision              ffffllllooooaaaatttt
  303.  
  304.           Double precision              ddddoooouuuubbbblllleeee
  305.  
  306.           Single precision complex      ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>>
  307.  
  308.           Double precision complex      ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>>
  309.  
  310. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  311.      IIIINNNNTTTTRRRROOOO____SSSSCCCCSSSSLLLL(3S), IIIINNNNTTTTRRRROOOO____BBBBLLLLAAAASSSS2222(3S)
  312.  
  313.      IIIINNNNTTTTRRRROOOO____CCCCBBBBLLLLAAAASSSS(3S) for information about using the C interface to Fortran 77
  314.      Basic Linear Algebra Subprograms (legacy BLAS) set forth by the Basic
  315.      Linear Algebra Subprograms Technical Forum.
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.                                                                         PPPPaaaaggggeeee 5555
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.